﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Primitives;
using System.ComponentModel.Composition.Hosting;

namespace CompositionPlugin
{
    public class ImportedPluginContractMetadata : ContractMetadata
    {
        public ImportedPluginContractMetadata(Guid importedIdentity, string name, Type type, CreationPolicy policy, ImportCardinality cardinality, Type owner)
            : base(name, type, policy, cardinality)
        {
            this.ImportIdentity = importedIdentity;
            this.Owner = owner;
            this.ShareMode = PluginShareMode.Instance;
        }

        public Guid ImportIdentity { get; private set; }

        public Type Owner { get; private set; }

        public PluginShareMode ShareMode { get; private set; }
    }
}
